iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 30
3
IoT

Raspberry Pi最佳入門與應用系列 第 30

D30 DHT11資料上傳至ThingSpeak

  • 分享至 

  • xImage
  •  

終於來到了今天也是最後了,有始有終將它完成吧!

昨天註冊好了ThingSpeak,那今天就使用Python將DHT11資料傳送上去吧!

1.安裝MQTT客戶端數據庫Paho

sudo pip3 install paho-mqtt(Python3)
sudo pip install paho-mqtt(Python)
請選擇安裝

2.Python程式

import RPi.GPIO as GPIO
import dht11
from time import sleep
import paho.mqtt.publish as publish

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()

dht = dht11.DHT11(pin = 4)

mqttHost = "mqtt.thingspeak.com"
channelID = "870677"
apiKey = "JAZ0DXU6TLNH5SI9"
tTransport = "websockets"
tPort = 80
tTLS = None
topic = "channels/" + channelID + "/publish/" + apiKey

def getSensorData():    
    r = dht.read()
    if r.is_valid():
        
        return(str(r.temperature), str(r.humidity))
    else:
        return(str(-1), str(-1))
   
while True:
    try:
        T, RH = getSensorData()
        print(T, RH)
        if T != '-1' and RH != '-1':
            tPayload = "field1=" + T + "&field2=" + RH            
            publish.single(topic, payload=tPayload, hostname=mqttHost, port=tPort, tls=tTLS, transport=tTransport)
            sleep(15)
        else:
            sleep(1)
    except:
        print('Error...')
        break             
        

3.開啟瀏覽器輸入ThingSpeak
https://ithelp.ithome.com.tw/upload/images/20191001/20119848RsQx6i5Jje.png

終於大功告成了這是第一次自己完成30天,好不容易今後我也會繼續研究樹莓派!加油囉!


上一篇
Day29 註冊ThingSpeak
系列文
Raspberry Pi最佳入門與應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
ccutmis
iT邦高手 2 級 ‧ 2019-10-01 21:11:42

謝謝分享~ /images/emoticon/emoticon12.gif

1
King Tzeng
iT邦新手 3 級 ‧ 2019-10-02 11:06:52

恭喜大大~以後我玩樹梅派的時候來拜讀一下大大的文章!!/images/emoticon/emoticon32.gif

dick iT邦新手 5 級 ‧ 2019-10-02 11:53:42 檢舉

Raspberry Pi我還覺得不夠所以打算繼續深入下去,你的JavaScript控制Arduino也不錯阿!

謝謝大大~一起玩下去~XD

0
阿展展展
iT邦好手 1 級 ‧ 2020-01-24 04:25:56

恭喜完賽

我要留言

立即登入留言